tail recursion
SUBROUTINE THAT CALLS ITSELF AS ITS FINAL ACTION
Tail recursion; Tail recursion modulo cons; Tail-recursive; Tail recursive; Tail call optimization; Tail Recursion; Tail-call optimization; Tailcall; Tail-call optimisation; Tail-call elimination; Tail-recursion; Tail-end recursion; Tail call elimination; Tail recursion elimination; Tail recursion optimization; Tail-recursion optimization; Proper tail recursion; Tail function; Tail recursive function; Tail-recursive function
<
programming> When the last thing a function (or procedure)
does is to call itself. Such a function is called
tail
recursive. A function may make several
recursive calls but
a call is only
tail-recursive if the caller returns
immediately after it. E.g.
f n = if n < 2 then 1 else f (f (n-2) + 1)
In this example both calls to f are recursive but only the
outer one is
tail recursive.
Tail recursion is a useful property because it enables {
tail
recursion optimisation}.
If you aren't sick of them already, see
recursion and {
tail
recursion}.
[
Jargon File]
(2006-04-16)